﻿namespace Director.StockSharp.Transaq.Native.Commands
{
	internal class ConnectMessage : BaseCommandMessage
	{
		public ConnectMessage() : base(ApiCommands.Connect)
		{
		}

		public string Login { get; set; }
		public string Password { get; set; }
		public string Address { get; set; }
		public int Port { get; set; }
		public string LogsDir { get; set; }
		public byte LogLevel { get; set; }
		public bool Autopos { get; set; }
		public string NotesFile { get; set; }
		public Proxy Proxy { get; set; }
		public int? RqDelay { get; set; }
		public int? SessionTimeout { get; set; }
		public int? RequestTimeout { get; set; }
		public bool MicexRegisters { get; set; }
		public bool Milliseconds { get; set; }
		public bool Utc { get; set; }
	}

	public class Proxy
	{
		/// <summary>
		/// Тип протокола, который использует прокси.
		/// </summary>
		public ProxyTypes Type { get; set; }


		public string Address { get; set; }
		public int Port { get; set; }

		/// <summary>
		/// Логин (если прокси требует авторизацию).
		/// </summary>
		public string Login { get; set; }

		/// <summary>
		/// Пароль (если прокси требует авторизацию).
		/// </summary>
		public string Password { get; set; }
	}

	/// <summary>
	/// Типы протоколов прокси.
	/// </summary>
	public enum ProxyTypes
	{
		Socks4,
		Socks5,
		Http
	}
}